-
Notifications
You must be signed in to change notification settings - Fork 458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BugFix] AD15 nacelle reference position was set to hub position #982
Conversation
@bjonkman, could you review this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me.
@@ -1031,7 +1031,7 @@ subroutine Init_u( u, p, p_AD, InputFileData, InitInp, errStat, errMsg ) | |||
if (errStat >= AbortErrLev) return | |||
|
|||
! set node initial position/orientation | |||
position = InitInp%HubPosition | |||
position = InitInp%NacellePosition | |||
position(1:2) = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This mesh was originally created to transfer nacelle drag loads, which are calculated at the tower center line at hub height with the orientation of the nacelle. If you want this to be the actual nacelle position, you should probably also remove the line setting position(1:2)=0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I'll do that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be great to add the drag loads at some point though. Should this mesh have two points then ? A nacelle center and an aerodynamic center?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems like any offset to the aero center should be handled within AD15. So I would expect only a single mesh point is necessary for the loads to ED.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe two points on the mesh would be better.... I feel like we had a conversation with Hannah about this when I first sent her the code to add the nacelle mesh to AeroDyn. Did she alter her equations to be calculated at this different point???
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just saw this. The buoyancy calculations for the nacelle assume a nacelle reference position aligned with the tower centerline and vertically with the hub, which is how the nacelle position was defined previously. I assume this means I need to adjust the buoyancy calculation now? Where is the new nacelle reference position? @andrew-platt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The nacelle reference position from the ElastoDyn NacelleLoads
mesh (and sibling mesh NacelleMotion
) is located at (0,0,TwrHt)
. This is what is passed to AD15 for the Nacelle initial position. So this should work as expected with the MHK buoyancy updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I see. I think the key thing is to make sure it is clear in the documentation that the nacelle center of buoyancy input by the user should be relative to the tower top position. I believe Jason already suggested that "nacelle reference position" be changed to "yaw bearing", so that should take care of it.
We do have a calculation to move the correction for the tower top (since it is not exposed to fluid) from the center of buoyancy of the tower top node to the nacelle reference position. Since the tower center of buoyancy is assumed along the centerline and we are now defining the nacelle reference position as (0,0,TwrHt)
, these points should be coincident, so I could remove this calculation. Does this sound correct, @jjonkman? I could also leave it since it is more robust to future changes this way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hkross -- Yes, that sounds correct, but may as well leave that code in there in case the nacelle reference position is moved again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I came across another potential issue with this. The AeroDyn driver does not pass the nacelle position to AeroDyn. Since the mesh creation in AeroDyn used to call InitInp%HubPosition
, the nacelle position was not needed. This is fairly easy to fix and pass in the nacelle position. However, the nacelle position in the driver is set to (0, 0, HubHt+overhang*sin(shftTilt))
rather than (0,0,TwrHt)
, meaning that the nacelle position is defined differently when the AeroDyn driver vs OpenFAST driver is used. This will affect the buoyancy calculations, since the user inputs offsets for the nacelle center of buoyancy relative to the tower top. I'm not sure there is even enough info in the AeroDyn driver input file to be able to calculate TwrHt
. @andrew-platt and @ebranlard, do either of you have any input on this?
Forgot to remove an override of the position for the Nacelle mesh in PR #982.
Forgot to remove an override of the position for the Nacelle mesh in PR OpenFAST#982.
This PR is ready for merging
Feature or improvement description
The AeroDyn 15 nacelle reference position was set to the hub reference position.
The effect of this is likely very small since mesh mapping at the glue code accounts for any location differences, and aero loads on the nacelle from AD15 would be nearly identical calculated at the correct nacelle location or at the hub. However, buoyancy loads on the nacelle were applied at the hub rather than nacelle location, but mapped to the nacelle in the glue code which would result in an unexpected moment.
Related issue, if one exists
#957
Impacted areas of the software
This likely only affects buoyancy loads on the nacelle the MHK feature under development.